#ifndef MKAHYPAR_COARSENING_MEMENTO_H
#define MKAHYPAR_COARSENING_MEMENTO_H
#include "mkahypar/utils/typedef.h"
namespace mkahypar{
  class CoarseningMemento {
  public:
    explicit CoarseningMemento(const Hypergraph::ContractionMemento& contraction_memento_) :
            one_pin_hes_begin(0),
            one_pin_hes_size(0),
            parallel_hes_begin(0),
            parallel_hes_size(0),
            is_source(false),
            contraction_memento(contraction_memento_) { }

    int one_pin_hes_begin;        // start of removed single pin hyperedges
    int one_pin_hes_size;         // # removed single pin hyperedges
    int parallel_hes_begin;       // start of removed parallel hyperedges
    int parallel_hes_size;        // # removed parallel hyperedges
    bool is_source;//判断被缩合的点v是否是源点
    const Hypergraph::ContractionMemento contraction_memento;
  };
}
#endif //MKAHYPAR_COARSENING_MEMENTO_H
